System for and method of generating and navigating within a workspace of a computer application

ABSTRACT

A computer application and method for generating a workspace and navigating therein are disclosed. Code can be used to generate an application workspace for an associated computer application, wherein the application workspace is comprised of a plurality of screens and each screen has dimensions that are generally coextensive with a viewable area defined by the computer application. Code can be used to logically associate a plurality of sub-application windows for displaying viewable content with respective locations of the application workspace.

RELATED APPLICATION DATA

The present application claims the benefit of U.S. Nonprovisionalapplication Ser. No. 10/783,543, filed Feb. 20, 2004, the disclosure ofwhich is herein incorporated by reference in its entirety.

TECHNICAL FIELD

The present invention generally relates to user interaction with acomputer system and, more particularly to a system for and a method ofgenerating and navigating within a workspace of a computer applicationthat can be executed by a computer system.

BACKGROUND ART

In most modern computing systems, the user interacts with the computingsystem through a graphical user interface (GUI). The GUI is theinterface between the user and the computer and typically includesicons, graphics and/or text boxes, windows, and text to visuallyrepresent applications and function utilities to the user. The GUI isoften based upon an operating system executed by the computer system,such as Microsoft® Windows®, Linux®, SunOS®, Unix®, MacOS®, Palm OS®,and so forth.

The GUI, which is displayed on a physical display device (or computermonitor), provides a user with a convenient way to visually organize andwork with applications. Each user interactive application executed bythe computer system is typically associated with a self containedapplication workspace window that includes menus, function buttons andan area (referred to herein as the application workspace) in whichcontent of the application (e.g., documents, spreadsheets, charts,graphics and the like) can be displayed. As is known in the art, awindow is a dedicated and potentially scrollable viewing area displayedon a computer monitor, and can be defined by a boundary. Each individualapplication workspace window can be arranged on a “desktop.” The desktopusually has dimensions that are generally co-extensive with fixedviewing dimensions of the physical display device.

One of the benefits associated with using application workspace windowsin a GUI is the ease of displayed content management. For instance, withthe touch of a mouse, the user may open and close application workspacewindows, organize application workspace windows (e.g., by moving theapplication workspace window to a desired location), re-size applicationworkspace windows, and simultaneously display multiple applicationworkspace windows. Accordingly, the application workspace windows maytypically take a variety of forms, including, a minimized icon form thatreduces the application window to the size of an icon; a maximized formthat maximizes the dimensions of the application workspace window to becoextensive with a maximum allotted portion of the desktop; or anintermediate form wherein the physical size of the application workspacewindow is larger than an icon, but smaller than the maximum dimensions.In some systems, application workspace windows can be fully or partiallydisplayed on the computer screen depending upon a “location” of theapplication workspace window relative to the computer screen and adisplay priority relationship with other applications (e.g., oneapplication workspace window can be cascaded over another applicationworkspace window).

However, there are certain drawbacks associated with the use of windowsin a GUI. For instance, within a given parent application workspacewindow (also referred to herein as a main application workspace window),a user may have multiple child application windows (also referred toherein as a sub-application window) open and displayed on the computerscreen at the same time. As is known in the art, the “parent” and“child” analogy refers to a relationship between processes in amultitasking environment, in which the parent process calls the childprocess.

Since the application parent workspace window is conventionally notlarger than an area allotted by the desktop, the user is limited as tohow many child application windows that can be effectively displayedwithin the parent application workspace window. If even just a handfulof child application windows are opened, the child application windowswould have to be minimized, tiled and/or cascaded to fit in the parentapplication workspace window and would likely be too small and/orcluttered to be of use to the user. Also, in many instances, the usermay not remember which child application windows are open or where theyare located within the parent application workspace window. In addition,conventional GUIs do not allow a user to return to a previously usedarrangement of child application windows. Thus, the user is frequentlyfaced with a tedious and convoluted task of locating, activating andreconfiguring desired child application windows to view a user'spreferred arrangement of child application windows.

Accordingly, there is a need in the art for an improved system andmethod for generating and interacting with a workspace of a computerapplication.

SUMMARY OF THE INVENTION

According to one aspect of the invention, the invention is directed to acomputer application workspace generation and navigation tool embodiedon a computer-readable medium. The computer application workspacegeneration and navigation tool can include code that generates anapplication workspace for an associated main computer application, theapplication workspace comprised of a plurality of screens, each screenhaving dimensions that are generally coextensive with a viewable areadefined by the main computer application. In one embodiment, such aworkspace generation and navigation tool can further include code thatlogically associates a plurality of sub-application windows withrespective locations of the application workspace, the sub-applicationwindows for displaying content of at least one sub-application that isassociated with the main computer application.

According to another aspect of the invention, the invention is directedto a computer application workspace generation and navigation toolembodied on a computer-readable medium. The computer applicationworkspace generation and navigation tool can include code that generatesan application workspace for an associated main computer application;code that logically associates a plurality of sub-application windowswith respective locations of the application workspace, thesub-application windows for displaying content of at least onesub-application that is associated with the main computer application;and code that stores the logical associations of the at least onesub-application window as an application workspace arrangement.

According to yet another aspect of the invention, the invention isdirected to a computer application workspace generation and navigationtool embodied on a computer-readable medium. The computer applicationworkspace generation and navigation tool can include code that generatesan application workspace for an associated main computer application;code that logically associates a plurality of sub-application windowswith respective locations of the application workspace, thesub-application windows for displaying content of at least onesub-application that is associated with the main computer application;and code that stores a layout of the application workspace including anumber and arrangement of screens that define the application workspaceand relative location of each sub-application window within theapplication workspace.

According to another aspect of the invention, the invention is directedto a computer application workspace generation and navigation toolembodied on a computer-readable medium. The computer applicationworkspace generation and navigation tool can include code that generatesa workspace for at least one of an associated computer application andan operating system desktop; and code that, upon initiation of a window,logically associates the window with a location of the workspaceidentified by user action.

According to another aspect of the invention, the invention is directedto a method of generating a computer application workspace. The methodcan include generating an application workspace for a main computerapplication, the application workspace comprised of a plurality ofscreens, each screen having dimensions that are generally coextensivewith a viewable area defined by the main computer application. In oneembodiment, such a method of generating a computer application workspacecan further include logically associating a plurality of sub-applicationwindows with respective locations of the application workspace, thesub-application windows for displaying content of at least onesub-application that is associated with the main computer application.

According to one more aspect of the invention, the invention is directedto a method of generating a computer application workspace. The methodcan include providing an application workspace for an associated maincomputer application; logically associating a plurality ofsub-application windows with respective locations of the applicationworkspace, the sub-application windows for displaying content of atleast one sub-application that is associated with the main computerapplication; and storing the logical associations of the at least onesub-application window as an application workspace arrangement.

According to another aspect of the invention, the invention is directedto a method of generating a computer application workspace. The methodcan include providing an application workspace for an associated maincomputer application; logically associating a plurality ofsub-application windows with respective locations of the applicationworkspace, the sub-application windows for displaying content of atleast one sub-application that is associated with the main application;storing a layout of the application workspace including a number andarrangement of screens that define the application workspace andrelative location of each sub-application window within the applicationworkspace.

According to another aspect of the invention, the invention is directedto a method of generating a computer application workspace. The methodcan include providing a workspace for at least one of an associatedcomputer application and an operating system desktop; and uponinitiation of a window, logically associating the window with a locationof the workspace identified by user action.

BRIEF DESCRIPTION OF DRAWINGS

Many aspects of the invention can be better understood with reference tothe following drawings. The components in the drawings are notnecessarily to scale, emphasis instead being placed upon clearlyillustrating the principles of the present invention. Likewise, elementsand features depicted in one drawing may be combined with elements andfeatures depicted in other drawings. Moreover, in the drawings, likereference numerals designate corresponding parts throughout the severalviews.

FIG. 1 is a block diagram of a computer system according to the presentinvention;

FIG. 2 is an example operating system desktop with a representativeapplication workspace window that are displayed on a computer displaydevice;

FIG. 3 is a schematic diagram of an example application workspaceaccording to the present invention;

FIG. 4 is a flow diagram of operational logic for an applicationworkspace generation component of a workspace generation and navigationtool according to the present invention;

FIG. 5 is an operational diagram depicting movement of a sub-applicationwindow within the application workspace;

FIG. 6 is a flow diagram of operational logic for a navigation componentof the workspace generation and navigation tool;

FIG. 7 is a schematic diagram of a navigation box according to thepresent invention;

FIG. 8 is a schematic diagram of a drop down menu according to thepresent invention;

FIG. 9 is a flow diagram of operational logic for a layout managementcomponent of the workspace generation and navigation tool; and

FIG. 10 is a schematic diagram of a layout drop down menu according tothe present invention.

DISCLOSURE OF INVENTION

The following description is exemplary in nature and is in no wayintended to limit the scope of the invention as defined by the claimsappended hereto.

With reference to FIG. 1, illustrated is a schematic block diagram of acomputer system 10 capable of executing a computer application (orprogram) 12 having an application workspace generation and navigationtool 14 in accordance with aspects of the present invention. As will bedescribed in greater detail, the tool 14 can include an applicationworkspace generation component and a navigation component that assist auser of the computer system 10 in defining the size of and navigatingwithin an application workspace that is associated with the computerapplication 12. The computer application 12 can comprise a main computerapplication having associated therewith a main application window andwhich can be logically associated with or call one or more computersub-applications 15. The sub-applications 15 can each have one or moreassociated sub-application windows.

In one embodiment, the computer application 12, the workspace generationand navigation tool 14 and/or the sub-applications 15 are embodied asone or more computer programs (e.g., one or more software applicationsincluding compilations of executable code). The computer program(s) canbe embodied on a computer readable medium, such as a magnetic or opticalstorage device (e.g., hard disk, CD-ROM, DVD-ROM, etc.).

To execute the computer program 12 and associated workspace generationand navigation tool 14 and sub-applications 15, the computer system 10can include one or more processors 18 used to execute instructions thatcarry out a specified logic routine(s). In addition, the computer system10 can have a memory 20 for storing data, software, logic routineinstructions, computer programs, files, operating system instructions,and the like. As illustrated, the computer application 12, associatedworkspace generation and navigation tool 14 and sub-applications 15 canbe stored by the memory 20. The memory 20 can comprise several devicesand includes, for example, volatile and non-volatile memory components.Accordingly, the memory 20 can include, for example, random accessmemory (RAM), read-only memory (ROM), hard disks, floppy disks, compactdisks (e.g., CD-ROM, DVD-ROM, CD-RW, etc.), tapes, and/or other memorycomponents, plus associated drives and players for these memory types.The processor 18 and the memory 20 are coupled using a local interface22. The local interface 22 can be, for example, a data bus withaccompanying control bus, a network, or other subsystem.

The computer system 10 can have various video and input/outputinterfaces 24 as well as one or more communications interfaces 26. Theinterfaces 24 can be used to couple the computer system 10 to variousperipherals, such as a display 28 (e.g., a CRT display, an LCD display,a plasma display, etc.), a keyboard 30, a mouse 32, a microphone 34, acamera (not shown), a scanner (not shown), a printer (not shown), aspeaker (not shown) and so forth. The interfaces 26 can be comprised of,for example, a modem and/or network interface card, and can enable thecomputer system 10 to send and receive data signals, voice signals,video signals, and the like via an external network, such as theInternet, a wide area network (WAN), a local area network (LAN), directdata link, or similar wired or wireless system.

The memory 20 can store an operating system 36 that is executed by theprocessor 18 to control the allocation and usage of resources in thecomputer system 10, as well as provide basic user interface features.Specifically, the operating system 36 controls the allocation and usageof the memory 20, the processing time of the processor 18 dedicated tovarious applications being executed by the processor 18, and theperipheral devices, as well as performing other functionality. In thismanner, the operating system 36 serves as the foundation on whichapplications, such as the computer application 12, the associatedworkspace generation and navigation tool 14 and the sub-applications 15,depend as is generally known by those with ordinary skill in the art.The operating system 36 also controls much of the user interfaceenvironment presented to a user, such as features of the overall GUI forthe computer system 10. In some operating systems, application programsmake use of operating system functions by issuing task commands to theoperating system (e.g., a request to display certain information), whichthen performs the requested task

In another embodiment, the workspace generation and navigation tool 14,or components thereof, can be integral with the operating system 36. Inthis manner, operating system controlled features, such as a desktop orgeneral computer application functionality, can be sized and navigatedin the manner described herein for an application workspace of thecomputer application 12. In yet another embodiment, the workspacegeneration and navigation tool 14, or components thereof, can beembodied in stand alone software called by the operating system 36and/or computer application 12.

With additional reference to FIG. 2, a logical hierarchy of GUIcomponents, beginning with an operating system (OS) desktop 38, that aredisplayed on the display 28 will be described. The appearance,arrangement and user control of many aspects of the GUI components andwill generally be dependent on the specific operating system 36 executedby the computer system 10.

As is commonly used in the art, the desktop 38 is defined by theoperating system 36 and provides the basic on-screen infrastructure fora user's interaction with the computer system 10. As an example, aWindows® based operating system provides a user with a desktopenvironment where various icons 40 can be displayed, various toolbars 42and/or status bars can be displayed, and/or where various windows can bedisplayed including, for example, a main application workspace window44. In most cases, the dimensions of the desktop 38 are coextensive witha visible portion of the physical display device 28 upon which thedesktop 38 is displayed.

As used herein, an “application workspace window” is a window dedicatedto a specific computer application (or “program”) that is executed bythe computer system 10. The main application workspace window 44 isgenerated by the computer application 12. Sub-application windows willbe described in greater detail below, but are generated by correspondingsub-applications 15. Nevertheless, the term sub-application windowexplicitly includes any window generated by the main application 12 andwhich is subordinate to the main application workspace window 44.Although any given application can be associated with multiple mainapplication workspace windows 44, the invention will be described in anenvironment where one main application workspace window 44 is displayedfor the computer application 12. As an example, the computer application12 can be a securities market and market maker tracking system. Such asystem is described in co-owned U.S. patent application Ser. No.10/167,950, filed Jun. 12, 2002 (U.S. patent application publicationnumber 2003/0069834, published Apr. 10, 2003) and in co-owned U.S.patent application Ser. No. 09/911,772, filed Jul. 24, 2001 (U.S. patentapplication publication number 2003/0065608, published Apr. 3, 2003),the disclosures of which are herein incorporated by reference in theirentireties. As should be appreciated, other computer applications 12 canbe associated with the functionality of the workspace generation andnavigation tool 14 and can include, for example, an Internet browser, anelectronic mail program, a drawing program, a word processing program, aspreadsheet program, a presentation program, and so forth.

In another example, the main computer application can be a workerproductivity suite that interacts with various sub-applications, such asa word processing program (e.g., Microsoft® Word®), a spreadsheetprogram (e.g., Microsoft® Excel®), a presentation program (e.g.,Microsoft® Powerpoint®), an electronic mail program (e.g., Microsoft®Outlook®), a drawing program (e.g., Microsoft® Visio®), a databaseprogram (e.g., Microsoft® Access®), and so forth. In another example,the main program 12 can be an Internet connectivity program, such asAmerica On-Line® (AOL®). The AOL® main program 12 can interact withvarious sub-programs 15, such as an instant messenger sub-program, aweb-browser sub-program, an email sub-program, a welcome screensub-program, and so forth.

In the illustrated embodiment, the main application workspace window 44is shown in an intermediate form that has a size between a minimizedform (e.g., an iconic representation) and a maximized form that consumesall available space on the display 28 allocated to programs by theoperating system 36. However, it should be appreciated that the mainapplication workspace window 44 can take on either the minimized ormaximized forms as selected by the user.

The main application workspace window 44 provides the GUI for the user'sinteraction with the corresponding computer application 12. In oneexample, a perimeter or boundary of the displayed main applicationworkspace window 44 is defined by a frame 46, which can include GUIitems such as drop down menus 48, command buttons 50, vertical andhorizontal scroll bars 52, a title bar 53, tool and/or status bars (notshown) and so forth. Within an area bounded by the frame 46 can be aviewable area 55 defined by the computer application 12 in which atleast a portion of a main application workspace 54 can be displayed forviewing by a user. An “application workspace,” as used herein, isdedicated to displaying computer application 12 and/or sub-application15 content, such as pictures, video, text documents (e.g., electronicmail, word processing documents), tables, charts, spreadsheets and anyother displayable items and combinations of displayable items. It isnoted that the frame 46 need not form a continuous perimeter around theviewable area 55 and the viewable area 55 need not have to be containedwithin a frame at all.

With additional reference to FIG. 3, the application workspace 54 can bedefined by a plurality of screens 56. For instance, the workspace 54 canbe made up of a plurality of contiguous screens 56 (e.g., a matrix ofscreens) to form a continuous area upon which application content can belogically associated. In certain operational modes, only a portion ofthe application workspace 54 is “visible” (e.g., displayed) in the frame46 of the main application workspace window 44. The displayed portion ofthe application workspace 54 can correspond to an individual screen 56or sections of multiple screens 56, depending on how the applicationworkspace 54 is “positioned” relative to the frame 46. In oneembodiment, the size of each screen 56 when not subjected to enlargementby “zooming in” or contraction by “zooming out” is generally coextensivewith the viewable area 55 area defined by the frame 46.

As will become more apparent below, one way to consider certainoperation of the workspace generation and navigation tool 14 is toconsider the application workspace 54 to be analogous to a plane uponwhich application content is present and the frame 46 is analogous toviewing portal that is logically shifted over the application workspace54 to allow the use to view (or “see”) a portion of the applicationworkspace 54. Alternatively, one may equally consider the applicationworkspace 54 to be logically shifted under the frame 46. Methods andexecutable logic for sizing, controlling and traversing the applicationworkspace 54 will be described below in greater detail.

In one embodiment, the computer application 12 content can be displayedin one or more discrete sub-application windows 58. An “applicationwindow” can be considered to be a region affiliated with the applicationworkspace 54 that displays computer application 12 and/orsub-application 15 content. In the example where the applicationworkspace 54 is considered to be analogous to a plane, thesub-application windows 58 can be considered to be located within theplane. The sub-application windows 58 can be arranged as desired by theuser, such as without overlap (e.g., tiled) and spaced apart ortouching, with overlap (e.g., cascaded), and combinations of thesearrangements. Sub-application windows 58 can be positioned completelywithin a screen 56 or across multiple screens 56. In one embodiment, thesub-application windows 58 are “tied” to the application workspace 54such that the sub-application windows 58 are not moveable out of theapplication workspace 54 to overlap the frame 46 of the main applicationworkspace window 44 or onto other portions of the desktop 38. In otherembodiments, one or more sub-application windows 58 can be detached fromthe application workspace 54 such than they can optionally overlap themain application workspace window 44, can be overlapped by the mainapplication workspace window 44 and/or can overlap other portions of thedesktop 38. In one embodiment, sub-application windows 58 can have asub-application window frame 60 that optionally includes GUI items suchas a title bar, menus, horizontal and/or vertical scroll bars, statusand/or tool bars, command buttons and so forth.

Although the discussion herein is presented in the example context ofone application workspace 54 in association with the main computerapplication 12, the main computer application 12 can be associated witha plurality of application workspaces 54 and resulting layouts upon theassociation of sub-application windows 58 with the applicationworkspaces 54. In the multiple application workspace 54 embodiment, oneapplication workspace 54 at a time can be considered active andavailable for user interaction as described herein. A differentapplication workspace 54 can be made active by user action. Followingthe analogy where the application workspace 54 is considered analogousto a plane, in one embodiment, multiple application workspaces 54 can bethought of as being arranged in a stack, in which the prominence of eachapplication workspace 54 and order of the application workspaces 54 canbe altered by user action.

With continuing reference to FIGS. 2 and 3, the exemplary illustrationsshow the application workspace 54 divided into a 4×4 matrix of screens56 a-56 p (sixteen total screens). It should be appreciated that thescreens 56 need not be arranged in a matrix and, if the screens 56 arearranged in a matrix, the matrix can be of other dimensions, such as a2×3 matrix, a 2×2 matrix, a 3×3 matrix, and so on. In the illustratedexample, the frame 46 functionally overlies screen 56 f such that acorresponding portion of the application workspace 54 is displayed.Within the area defined by screen 56 f, sub-application windows 58 a-care present. Accordingly, sub-application windows 58 a-c will bedisplayed within the frame 46 on the display 28 for viewing by a user ofthe computer system 10.

Also illustrated in FIG. 3 are additional sub-application windows 58arranged throughout the application workspace 54. As illustrated, thesub-application windows 58 can be associated with one particular screen56. A particular sub-application window 58 will be associated with ascreen 56 when that application window is “fully contained” within thecorresponding screen 56. Alternatively, if the sub-application window 58overlies two or more screens 56, that sub-application window 58 will beassociated with the screen 56 in which a majority of the sub-applicationwindow 58 resides. For example, sub-application window 58 d has amajority of its area within screen 56 c and will be logically associatedwith screen 56 c.

The application workspace 54 can be comprised of one or more screens 56that do not contain any portion of a sub-application window 58. Inaddition, when the application workspace 54 is sized, the applicationworkspace 54 can be sized to be larger than required to accommodate thepositioning of sub-application windows 58 as desired by the user. Forexample, if the application workspace 54 were initially sized togenerally have the dimensions of the viewable area 55 (e.g., anapplication workspace having a size corresponding to one screen 56), andthe user moved a sub-application window 58 outside the single screendimension, the workspace generation component can automatically resizethe application workspace 54 to include additional screens 56. In such asituation, the additional screens 56 can include one or more screens 56to accommodate the moved sub-application window 58 (such as a 1×2 matrixof screens 56) or a larger number of screens 56 (such as a 3×3 matrix ofscreens 56) where some of the screens 56 do not contain any portion of asub-application window 58.

In one embodiment, each screen 56 of the application workspace 54 can beassociated with a unique identifying feature, such as a background colorand/or pattern. The unique identifying feature of each screen can assista user in recognizing which portion(s) of the application workspace 54is displayed at any particular time.

With additional reference to FIG. 4, shown is a flow diagram depictingexemplary operational logic for a workspace generation component 16 a ofthe application workspace generation and navigation tool 14. Theillustrated architecture for the workspace generation component 16 ashows operational processing blocks, each one of which may berepresented by a number of subprocesses, routines or applettes. Theillustrated architecture is intended to show the functionality andoperation of an implementation of the above-mentioned workspacegeneration component 16 a. If embodied in software, each functionalblock may represent a module, segment, or portion of code that containsone or more executable instructions to implement the specified logicfunctions.

Although the architecture blocks of FIG. 4 are shown in a specific orderof execution, it is understood that the order of execution may differfrom that depicted. For example, the order of execution of two or moreblocks may be altered relative to the order shown. Also, two or moreblocks shown in succession may be executed concurrently or with partialconcurrence. In addition, various blocks may be omitted. It isunderstood that all such variations are within the scope of the presentinvention.

The operational logic for the workspace generation component 16 a cancommence in processing block 62 where the computer application 12 isinitiated. Initiation of the computer application 12 can be carried outby user action, such as by “double clicking” on a desktop icon 40corresponding to the computer application 12 or by selecting thecomputer application 12 from a menu or list of applications. Uponinitiation of the computer application 12, in block 64, the workspacegeneration component 16 a can set the application workspace 54 size tocorrespond to one screen 56 or, alternatively, to a predetermined numberof screens 56. For example, upon launching of the application 12, theapplication workspace 54 can have dimensions that are co-extensive withthe area bounded by the frame 46.

Next, in processing block 66, the workspace generation component 16 acan determine whether the user has moved a sub-application window 58that is logically associated with a currently displayed screen 56 to beat least partially located outside the presently displayed screen 56. Ifthe user moves the sub-application window 58 in this manner, theoperational logic can proceed to block 68. If the application workspace54 has already been sized to accommodate the moved sub-applicationwindow 58 in its new location, the sub-application window 58 will beaccordingly moved in processing block 70. However, in block 68, if theapplication workspace 54 is not currently sized to accommodate the newlocation of the moved sub-application window 58, the workspacegeneration component 16 will programmatically enlarge the applicationworkspace 54 to include at least one additional screen 56 to accommodatethe new location of the sub-application window 58.

With additional reference to FIG. 5, shown is a schematic diagramdepicting a movement of a sub-application window 58 within theapplication workspace 54, but outside of the currently displayed screen56. For example, the user may click and drag a title bar of thesub-application window 58 such that the sub-application window 58 movesrelative to the application workspace 54 and the frame 46 to a locationthat is not bounded by the frame 46. As indicated, the movedsub-application window 58′ will be positioned relative to theapplication workspace 54 in processing block 70. Thereafter, inprocessing block 72, the moved sub-application window 58′ will beassociated with the screen 56 in which a majority of the movedsub-application window 58′ is located. As will be described in greaterdetail below, when a navigator box is displayed, the sub-applicationwindows 58 are displayed in accordance with the screen 56 to which thesub-application window 58 or 58′ is logically associated. If theapplication window 58 is moved a relatively small amount (e.g., anamount such that a majority of the moved sub-application window 58′remains in the previously associated screen 56), a current logicalassociate with the displayed screen 56 may not be changed for thesub-application window 58 in block 72. Thereafter, the operational logiccan return to block 66 to continue monitoring for user actions thatinvokes processing by the workspace generation component 16 a.

If, in block 66, a negative determination is made the operational logiccan proceed to block 74 where a determination is made if a user manuallyexpands the workspace 54. For instance, menu options can be providedthat will allow the user to select the size of the workspace 54. In oneembodiment, the size of the workspace 54 can be determined by selectionof the number of screens 56 from which workspace 54 is comprised.Accordingly, menu options can be provided for a set of predeterminedworkspace 54 arrangements, such as a single screen 56, a matrix ofvarious sizes of screens 56 (e.g., a 2×2 matrix, a 3×3 matrix, a 2×3matrix, a 4×4 matrix, etc.). Alternatively, menu options can be providedfor the user to specify a desired number and arrangement of screens 56.It is noted that the screens 56 need not be arranged in a uniformmatrix, but could be disposed in a pattern desired by the user (e.g., inan annular arrangement, to represent a plus sign, etc.). The expansionof the workspace can be carried out in processing block 76, after whichthe operational logic can return to processing block 66 to continue tomonitor for user action that invokes processing by the workspacegeneration component 16 a.

If a negative determination is made in processing block 74, theoperational logic can proceed to processing block 78 where adetermination is made as to whether the user has initiated action tocontract the workspace 54. If the user has initiated action to contractthe workspace 54, the operational logic can proceed to processing block80 where the application workspace 54 is reduced in size. In oneembodiment, reduction in size of the application workspace 54 can bemade by reducing the number of screens 56 associated the applicationworkspace 54. For this purpose, various menu options for reducing theapplication workspace 54 can be presented to the user. These menuoptions can take the same form as the options for expanding theworkspace. For instance, if the application workspace 54 is currentlysized as a 3×3 matrix of screens 56 (nine screens total) and the userselects a menu option to reduce the application workspace 54 to a 2×2matrix of screens 56, five screens 56 will be removed from theapplication workspace 54. If any sub-application windows 58 are open inthe screens 56 to be removed from the application workspace 54, thosesub-application windows 58 can be either moved to screens 56 that willremain after resizing of the application workspace 54 or closedfollowing an optional user authorization for the sub-applicationwindow(s) 58 to be closed. Following contraction of the workspace 54 inprocessing block 80 or if a negative determination is made in processingblock 78, the operational logic can return to processing block 66 tocontinue to monitor for user action that invokes processing by theworkspace generation component 16 a.

With additional reference to FIG. 6, an exemplary architecture, oroperational logic, for the navigation component 16 b of the workspacegeneration and navigation tool 14 is illustrated. The illustratedarchitecture shows operational processing blocks, each of which mayrepresent a number of subprocesses, routines or applettes. Theillustrated architecture is intended to show the functionality andoperation of an implementation of the navigation component 16 b. Ifembodied in software, each functional block may represent a module,segment or portion of code that contains one or more executableinstructions to implement the specified logic functions.

Although the architecture is shown in a specific order of execution, itis understood that the order of execution may differ from that depicted.For example, the order of execution of two or more blocks may be alteredrelative to the order shown. Also, two or more blocks shown insuccession may be executed concurrently or with partial concurrence. Inaddition, various blocks may be omitted. It is understood that all suchvariations are within the scope of the present invention.

The operational logic for the navigation component 16 b can start inprocessing block 82 where a determination is made if the user activatesa navigation box. With additional reference to FIG. 7 an examplenavigational box 84 is illustrated. For example, the user can activatethe navigation box 84 by a specified user action such as making a menuselection or an appropriate action with the mouse 32, such as“right-clicking” on a displayed portion of the application workspace 54that is not occupied by a sub-application window 58 or on an icon 50displayed on a toolbar of the main application window 44. If a positivedetermination is made in processing block 82, the operational logic forthe navigation component 16 b can proceed to processing block 86. Inprocessing block 86, the navigation component 16 b can display thenavigation box 84 on the display 28.

As illustrated by example in FIG. 7, the navigation box 84 can display arepresentation of the application workspace 54. In the illustratedexample, the represented application workspace 54 is comprised of a 3×3matrix of screens 56. In the navigation box 84, each screen 56 isrepresented in a miniaturized form. In one embodiment, each screenrepresentation 87 can be numbered or otherwise labeled for theconvenience of the user. In the illustrated example, such labeling iscarried out by the indicators S1-S9. In the embodiment where each screen56 is associated with a unique identifying feature (e.g., colored and/orpatterned background), each screen representation 87 can also beassociated with corresponding identifying features. For example, ascreen 56 having a blue background would have a corresponding screenrepresentation 87 with a background of the same hue of blue.

For each screen 56 having a logically associated sub-applicationwindow(s) 58, the associated screen representation 87 can have an iconicand/or text representation 88 of the sub-application window(s) 58. Usingthe example in which the computer application 12 is a securities marketand market maker tracking computer application, the illustratednavigation box 84 shows representations 88 of securities market andmarket maker activity application windows 58 that are displayed in thecorresponding application workspace 54. For example, in the screenrepresentation S1 (corresponding to an upper left hand corner screen 56of the application workspace), shown are three icons used torespectively represent a level IV window, a level II window, and a quotewindow. In one embodiment, additional description of any applicationwindow representation 88 can be displayed by “rolling” the user's mousepointer over the representation 88. In one embodiment, sub-applicationwindows 58 can be moved from one screen 56 to another screen 56 bymoving (e.g., “clicking and dragging”) the representation 88 from onescreen representation 87 to a second screen representation 87 within thenavigation box 84.

With continued reference to FIG. 6, after the navigation box 84 isdisplayed in processing block 86, the operational logic can proceed toprocessing block 92 where a determination is made if the user uses thenavigation box 84 to select a screen 56 other than the presentlydisplayed screen 56 for display within the frame 46. In one embodiment,the navigation box 84 can highlight the screen representation 87 of thecurrently displayed screen 56. In the example illustration,representation S1 is highlighted to indicate that the currentlydisplayed screen 56 corresponds to the upper left hand corner screen 56of the corresponding application workspace 54. Selection of a differentscreen 56 for display as part of the application workspace window 44 canbe made by user action. Such user actions can include, for example, amenu selection or by an action taken with the mouse 32, such as “leftclicking” on one of the screen representations 87. If a positivedetermination is made in processing block 92, the operational logic canproceed to processing block 94 where the navigation box 84 can beremoved from display on the display 28 and the displayed portion of theapplication window 54 can be updated to show the selected screen 56 inthe area bound by the frame 46. Thereafter, or if a negativedetermination is made in processing block 92, the operational logic canproceed to processing block 96 where the navigation box 84 can be closedautomatically or by user action. Following processing block 96, theoperational logic can return to processing block 82 to continue tomonitor for user action that initiates processing by the navigationcomponent 16 b.

If a negative determination is made in processing block 82, theoperational logic can proceed to processing block 98. In processingblock 98, a determination can be made as to whether the user hasselected a drop down menu for navigating through or managing theapplication workspace 54. If a negative determination is made inprocessing block 98, the operational logic can return to block 82 wherethe operational logic continues to monitor for processing to be carriedout by the navigation component 16 b.

If a positive determination is made in processing block 98, theoperational logic can proceed to processing block 100 where the dropdown menu is displayed on the display 28. With additional reference toFIG. 8, an example drop down menu 102 is shown. Within the drop downmenu 102, various sub-application window 58 management functions can bepresented. For example, the management functions can include an arrangeicons function, a cascade function, a tile horizontally function, and atile vertically function. These functions can be used to arrangedisplayed sub-application windows 58 or iconic representations thereofon the application workspace 54.

If in block 104, the user invokes one of the management functions fromthe drop down menu 102, the operational logic can proceed to block 106.In block 106, the current arrangement of sub-application windows 58 onthe application workspace 54 can be stored by the workspace generationand navigation tool 14. For example, the storing of block 106 can be abuffering function where the arrangement is stored in a temporary fileor memory allocation. The storing of the arrangement can be transparentto the user. Thereafter, the operational logic can proceed to block 108where the sub-application windows 58 are arranged in accordance with theuser selected management function.

Following block 108, or if a negative determination is made in block104, the operational logic can proceed to block 110 where adetermination is made as to whether the user has selected a retrieveworkspace arrangement from, for example, the drop down menu 102. If theuser has selected to retrieve a previous arrangement of sub-applicationwindows 58, the operational logic can proceed to block 112 where thearrangement stored in block 106 can be retrieved and the display 28 canbe refreshed to show the application workspace 54 with sub-applicationwindows 58 as arranged in the stored arrangement. In one embodimentmultiple prior arrangements can be stored and retrieved. The act ofretrieving in block 112 can be transparent to the user such that, inessence, the retrieve workspace arrangement functions as a “go back” or“undo” command to recover from a no longer desired change insub-application window 58 arrangement. Following block 112, theoperational logic can return to block 82 where the operational logiccontinues to monitor for processing to be carried out by the navigatorcomponent 16 b.

With continued reference to FIG. 8, the drop down menu 102 can alsocontain a list of each screen 56 that forms a part of the currentlydisplayed application workspace 54. In the illustrated example of thedrop down menu 102, nine screens are listed. The screens can be listedby a generic name, such as in the examples for screen 3 and screens 4-9.Alternatively, the screens can be identified by a name given by theuser, such as in the examples of “main screen,” “high tech stocks,” and“charts.” By user action, the navigation component 16 b can displayadditional information about any of the screens identified in the dropdown menu 102. For example, by “rolling” a mouse pointer over and/orclicking on one of the screen names, an additional menu can bedisplayed. The additional menu can contain an option to rename theassociated screen 56. In addition, the additional menu can identify anysub-application windows 58 logically associated with the correspondingscreen 56.

With continued reference to FIG. 6, if a negative determination is madein processing block 110, the operational logic for the navigationcomponent 16 b can proceed to processing block 92. Similar to thetechniques for selecting a different screen using the navigation box 84,a user can select a different screen 56 for display as part of theapplication workspace window 44 by using the drop down menu 102.Accordingly, in processing block 92, a determination will be made if theuser has selected a different screen 56 for viewing than the presentlydisplayed screen 56. If a positive determination is made in processingblock 92, the operational logic can proceed to block 94 where the screen56 selected from the drop down menu 52 will be displayed within theframe 46. For example, the user can move the mouse pointer over thedisplayed name for the desired screen 56 and click a mouse button toselect that screen 56.

As one skilled in the art will appreciate, other GUI techniques existfor selecting items that are displayed on a display 28 and/or forinteracting with operational logic that is executed by the computersystem 10. For example, these other techniques include actions takenusing the keyboard 30, such as making various keystrokes, including theuse of function keys and key combinations. Alternative methods forinterfacing with the GUI include, for example, inputting audioinformation using the microphone 34, using a touch screen or other typeof keypad, and the like.

Following block 94 or if a negative determination is made in block 92,the operational logic can proceed to block 96 where the drop down menu102 can be closed. Following block 96, the operational logic can returnto block 82 where the computer system 10 can monitor for user actionsthat invokes processing to be carried out by the navigation component 16b.

With additional reference to FIG. 9, an exemplary architecture, oroperational logic, for a layout management component 16 c of theworkspace generation and navigation tool 14 is illustrated. Theillustrated architecture shows operational processing blocks, each ofwhich may represent a number of sub processes, routines or applettes.The illustrated architecture is intended to show the functionality andoperation of an implementation of the layout management component 16 c.If embodied in software, each functional block may represent a modular,segment or portion of code that contains one or more executableinstructions to implement the specified logic functions.

Although the architecture is shown in a specific order of execution, itis understood that the order of execution may differ from that depicted.For example, the order of execution of two or more blocks may be alteredrelative to the order shown. Also, two or more blocks shown insuccession may be executed concurrently or with partial concurrence. Inaddition, various blocks may be omitted. It is understood that all suchvariations are within the scope of the present invention.

The operational logic for the layout management component 16 c can startin processing block 114 where a determination can be made if a userselects a layout management drop down menu. With continued reference toFIG. 10, an example layout management drop down menu 116 is illustrated.The drop down menu 116 can include command functions, such as newlayout, save, save as, rename and delete. The layout management dropdown menu 116 can also display a list of previously stored layouts.

With continued reference to FIGS. 9 and 10, if a positive determinationis made in block 114 the operational logic can proceed to block 118where a determination is made as to whether the user has selected acommand from the drop down menu 116 for managing layouts of the maincomputer application 12. As used herein, the term layout refers to acomplete arrangement of an application workspace 54 including the numberand arrangement of screens 56 from which the application workspace 54 iscomprised and the sub-application windows 58 that are active within theapplication workspace 54 as well as the relative location of eachsub-application window 58 in the application workspace 54.

If a positive determination is made in block 118, the operational logiccan proceed to block 120 where functionality associated with the commandis carried out. For example, if the user selects the new layout command,the workspace generation and navigation tool 14 can display a newapplication workspace 54 in conjunction with the main application window44. The new application workspace 54 can be in a default format for theapplication workspace 54, such as an application workspace 54 having onescreen 56 and no sub-application windows 58 associated therewith. Asshould be appreciated, alternative default application workspace 54arrangements can be displayed upon the selection of the new layoutcommand. In one embodiment, if a non-default application workspace 54 isdisplayed at the time that the user selects the new layout command, theuser can be given an opportunity to save the current layout before thelayout is superceded by the default application workspace 54.

As another example, the user can select the save or save as commandsfrom the layout drop down menu 116 to respectively save the currentlydisplayed layout under an existing file name or save the layout under anew file name. If the save command is selected and the currentlydisplayed layout does not have an associated file name, the user may beprompted to supply a name for the layout, or the layout can be savedwith a default name. As another example, the rename command can be usedto rename a layout stored with an associated file name. As yet anotherexample, the delete command can be used to remove a stored layout frommemory. Following processing block 120, the operational logic canproceed to block 122. In block 122, the operational logic can close thedrop down menu 116. Thereafter, the operational logic can return toprocessing block 114 to continue to monitor for user action thatinitiates processing by the layout management component 16 c.

If a negative determination is made in processing block 118, theoperational logic can proceed to processing block 124. In processingblock 124, a determination can be made as to whether the user hasselected to retrieve a previously stored layout for display as theapplication workspace 54. For example, a previously stored layout can beretrieved by selecting the desired layout from a list of previouslystored layouts. The list of previously stored layouts can be displayedas part of the layout management drop down menu 116. In the illustratedexample, three previously stored layouts are displayed in such a listand include the examples of “Layout 1,” “Stephen's Layout” and “Layout3.” If a positive determination is made in processing block 124, theoperational logic can proceed to processing block 126 where the selectedlayout is retrieved and the display 28 can be refreshed to show theapplication workspace 54 in accordance with the selected layout. If anunsaved layout is displayed at the time that the user selects apreviously stored layout for retrieval, the operational logic canprovide the user with an opportunity to save the currently displayedlayout before superceding the currently displayed layout with theselected layout. Following processing block 126 or if a negativedetermination is made in processing block 124 the operational logic canproceed to processing block 122 where the drop down menu can be closed.Thereafter, the operational logic can return to processing block 114 tocontinue to monitor for user action that initiates processing by thelayout management component 16 c.

As should be appreciated, alternative techniques can be used to changethe area of the application window 54 that is displayed in theapplication workspace window 44. For instance, the horizontal and/orvertical scrollbars 52 can be used to change the displayed area of theapplication window 54. As is known in the art, scrollbars can be used bydepressing arrows associated with the scrollbar, moving a slider and/orclicking on the toolbar. All of these techniques can be used to scrollthrough the application workspace 54. Since the application workspace 54can be continuous, using the scrollbars 52 can enable the user todisplay portions of two or more screens 56 at the same time. Anotherexample technique for navigating around the application workspace 54 caninclude the use of a compass. For example, the application workspacewindow 44 can display a representation of a compass that includespointers to move the application workspace 54 in one or more directions,such as up, down, left, right, and combinations of these directions(e.g., in a diagonal direction). By clicking on one of the compassdirections, the application workspace 54 can be moved relative to theframe 46 in the indicated direction. The movement can be a continuousscrolling type movement or a quantum movement such as jumping from adisplayed screen 56 to an adjacent screen 56.

Another example technique for navigating around the applicationworkspace 54 can include the use of a zoom in/zoom out function. Forexample, a zoom in command button 128 (FIG. 2) and a zoom out commandbutton 130 (FIG. 2) can be provided on a tool bar of the mainapplication workspace window 44. Selecting the zoom out button 130, cancause the application workspace 54 to become compressed, therebydisplaying a larger portion of the application workspace 54. As theapplication workspace 54 is compressed, the sub-application windows 58can be compressed, or scaled, at the same proportional rate as theapplication workspace 54. As an example, if one screen 56 is displayedin the viewable area 55 and the user selects the zoom out button 130,the displayed screen 56 can be shrunk and shown in the viewable area 55with one or more neighboring screens or portions of neighboring screens56. Successive selection of the zoom out button can cause theapplication workspace 54 to continue to be contracted such that greaterportions of the application workspace 54 are displayed in the viewablearea 55.

As the sub-application windows 58 become smaller and smaller on thedisplay 28, the sub-application windows 58 may become too small for auser to work with, but nevertheless can be large enough to berecognized. After zooming out and identifying a desired portion of theapplication workspace 54, the user can invoke an action to zoom back inon the desired portion of the application workspace 54. For example, theuser can mark a location on the application workspace 54 and then zoomin using the zoom in button 128 until the scale of the applicationworkspace 54 returns to having the dimensions of one screen 56 beinggenerally coextensive with the viewable area 55. In another embodiment,the user can shift the application workspace 54 to be centered withinthe viewable area 55 around a desired location of the applicationworkspace 54 and then the user can zoom in on the centered point of theapplication workspace 54. In another embodiment, selection of the zoomin and zoom out buttons can transform the mouse pointer respectivelyinto enlarging and contracting magnifying glasses. When placed over theapplication workspace 54, clicking the enlarging magnifying glassenlarges the size of the application workspace 54 and clicking thecontracting magnifying glass decreases the size of the applicationworkspace 54.

It is noted that the zoom in button 128 can be used to scale theapplication workspace 54 such that one screen 56 can be larger than theviewable area 55 and such that content of the sub-application windows 58appears on the display 28 as being enlarged. In this manner, a user canmore closely examine and interact with content of the applicationworkspace 54. In addition to zoom in and zoom out command buttons,corresponding drop down menu commands for zooming in and zooming out canbe provided for user selection.

In one embodiment, the user can be given control over where asub-application window 58 is displayed relative to the applicationworkspace 54. For example, the user can transform the mouse pointer intoa placement pointer by clicking on a placement pointer command button132 from a tool bar of the main application window 44. Thereafter, theuser can invoke a sub-application 15 to generate a sub-applicationwindow 58. Thereafter, the user can move the placement pointer to adesired location on the application workspace 54 and place the selectedsub-application window 58 on the application workspace 54 in a locationcorresponding to the placement pointer. As will be appreciated selectionof the placement pointer, selection of the sub-application 15 togenerate the sub-application window 58, placement of the placementpointer with respect to the application workspace 54 and display of thedesired sub-application window 58 can be carried out by using anyappropriate input device (e.g., the mouse, keyboard or microphone) andinteraction with features of the main application window 44, such ascommand buttons 50 and/or drop down menus 48. In an alternativearrangement, the user can select a placement tool and mark theapplication workspace 54 with a bookmark using the placement tool.Thereafter, the desired sub-application window 58 can be opened in alocation defined by the bookmark. In one embodiment, the placementpointer or bookmark can be used to define placement of an upper lefthand corner of a sub-application window 58, a center of thesub-application window 58 or any other part of the sub-applicationwindow 58.

The logic described herein can be embodied in any computer-readablemedium for use by or in connection with an instruction execution systemsuch as a computer/processor based system or other system that can fetchor obtain the logic from the computer-readable medium and execute theinstructions contained therein. In the context of this document, a“computer-readable medium” can be any medium that can contain, store ormaintain logic and/or data for use by or in connection with theinstruction execution system. The computer-readable medium can be anyone of a number of physical media such as, for example, electronic,magnetic, optical, electromagnetic, infrared or semiconductor media.More specific examples of suitable computer-readable medium can include,but are not limited to, a portable magnetic computer diskette such as afloppy disk, a hard disk, a random access memory (RAM), a read-onlymemory (ROM), a flash memory and a compact disk (e.g., a CD or DVD faceddisk).

Although particular embodiments of the invention have been described indetail, it is understood that the invention is not limitedcorrespondingly in scope, but includes all changes, modifications andequivalents coming within the spirit and terms of the claims appendedhereto.

1. A computer-readable medium storing a computer application workspacegeneration and navigation tool that comprises: computer code within amain computer application that generates a continuous logical mainapplication workspace that is larger in size than a physically viewableoperating system desktop work area displayed on a physical computersystem display, the continuous logical main application workspacecomprised of a plurality of logical screen areas, wherein: each logicalscreen has predetermined dimensions that are coextensive with thephysically viewable work area on the physical computer system displaysuch that each logical screen has dimensions that are the same as everyother logical screen; the logical screens are arranged contiguously inpredetermined locations in the logical main application workspace suchthat the logical main application workspace is a single and functionallycontinuous logical workspace that is larger in size than the physicalcomputer system display used to display the physically viewable workarea; and each logical screen is individually selectable for navigationwithin the logical main application workspace; and computer code that,by user action, jumps from the physically viewable area in the logicalmain application workspace to a selected one of the logical screens, theselected one of the logical screens being any logical screen in thelogical main application workspace.
 2. The computer-readable mediumaccording to claim 1, further comprising code that logically associatesa plurality of sub-application windows with respective logical screenswithin the logical main application workspace, the sub-applicationwindows for displaying content of at least one open sub-application. 3.The computer-readable medium according to claim 2, further comprisingcode that logically associates each sub-application window location witha logical screen of the continuous main application workspace in which amajority of the sub-application window is disposed.
 4. Thecomputer-readable medium according to claim 2, further comprising codethat stores an arrangement of sub-application windows locations disposedwithin the logical main application workspace.
 5. The computer-readablemedium according to claim 4, further comprising code that retrieves thestored arrangement of sub-application windows.
 6. The computer-readablemedium according to claim 2, further comprising code that stores alayout of the continuous logical main application workspace including anumber and arrangement of logical screens and relative locations of eachsub-application window within each logical screen within the continuouslogical main application workspace.
 7. The computer-readable mediumaccording to claim 6, further comprising code that retrieves the storedlayout.
 8. The computer-readable medium according to claim 6, whereinthe code stores a plurality of separate layouts for the logical mainapplication workspace, wherein each layout has a different arrangementof logical screens and relative locations of each sub-application windowwithin each logical screen within the continuous logical mainapplication workspace.
 9. The computer-readable medium according toclaim 8, further comprising code that retrieves a selected stored layoutfrom among the plurality of stored layouts.
 10. The computer-readablemedium according to claim 2, further comprising code that scales thecontinuous logical application workspace and sub-application windows tozoom the application workspace in or out.
 11. The computer-readablemedium according to claim 2, further comprising code that, uponinitiation of one of the sub-application windows, logically associatesthe sub-application window with a logical screen within the continuouslogical main application workspace identified by user action.
 12. Thecomputer-readable medium according to claim 11, further comprising codeto provide the user with a user moveable placement means, wherein thelogical screen associated with a sub-application window within thecontinuous logical main application workspace identified by user actioncorresponds to a logical screen including a location of the placementmeans relative to the continuous logical main application workspace. 13.The computer-readable medium according to claim 1, wherein the logicalscreens are contiguously arranged in a matrix.
 14. The computer-readablemedium according to claim 1, further comprising code that increases thenumber of logical screens and a corresponding dimension of thecontinuous logical main application workspace in accordance with a useraction.
 15. The computer-readable medium according to claim 1, furthercomprising code that decreases the number of logical screens and acorresponding dimension of the continuous logical main applicationworkspace in accordance with a user action.
 16. The computer-readablemedium according to claim 1, further comprising code that provides adrop down menu from which a user can select and jump to one of theplurality of logical screens for display on the computer system displayin the physically viewable work area defined by the logical maincomputer application.
 17. The computer-readable medium according toclaim 1, wherein the code that generates the continuous logical mainapplication workspace generates a plurality of logical applicationworkspaces for the logical main computer application.
 18. Thecomputer-readable medium according to claim 1, wherein each logicalscreen is associated with a unique identifying feature.
 19. Thecomputer-readable medium according to claim 18, wherein the uniqueidentifying feature is selected from a background color, a backgroundpattern and a combination thereof.
 20. The computer-readable mediumaccording to claim 12, wherein the placement means is a placementpointer having a position that defines the location within thecontinuous logical workspace identified by user action.
 21. Thecomputer-readable medium according to claim 12, wherein the placementmeans is a placement tool for marking the location within the continuouslogical workspace identified by user action.
 22. The computer-readablemedium according to claim 1, further comprising code that generates anavigation box that includes a representation of the continuous logicalmain application workspace including an indication of each logicalscreen within the workspace; and code that jumps from the physicallyviewable work area in the logical main application workspace to alogical screen selected by a user action from the navigation box. 23.The computer-readable medium according to claim 22, further comprisingcode that logically associates a plurality of sub-application windowswith respective locations within the continuous logical main applicationworkspace, the sub-application windows for displaying content of atleast one open sub-application, and code that displays an iconicrepresentation of each sub-application window in association with therepresentation of the logically associated screen shown in thenavigation box.
 24. The computer-readable medium according to claim 23,further comprising code that moves and associates a user selectedsub-application window from a logically associated screen to anotherlogical screen in response to user initiated movement of thecorresponding iconic representation of the user selected sub-applicationwindow in the navigation box, wherein the user selected sub-applicationwindow is moved without changing the display of the currently displayedlogical screen within the physically viewable work area.
 25. Thecomputer-readable medium according to claim 1, wherein the selectedlogical screen does not contain any sub-application windows.
 26. Thecomputer-readable medium according to claim 1, further comprising codethat generates a plurality of main application workspaces, wherein eachmain application workspace is a logical main application workspace andhas a different arrangement of logical screens; and code that retrievesa selected main application workspace from among the plurality of mainapplication workspaces.
 27. The computer-readable medium according toclaim 1, wherein the main computer application is an operating systemdesktop.
 28. The computer-readable medium according to claim 2, whereinthe main computer application is an operating system desktop, and theplurality of sub-application windows comprise windows that displaycontent generated by programs executed via the operating system.
 29. Amethod of generating a computer application workspace by executing aprogram stored on a computer-readable medium, comprising: generatingwithin a main computer application a continuous logical main applicationworkspace that is larger in size than a physically viewable operatingsystem desktop work area displayed on a physical computer systemdisplay, the continuous logical main application workspace comprised ofa plurality of logical screen areas, wherein: each logical screen haspredetermined dimensions that are coextensive with the physicallyviewable work area on the physical computer system display such thateach logical screen has dimensions that are the same as every otherlogical screen; the logical screens are arranged contiguously inpredetermined locations in the logical main application workspace suchthat the logical main application workspace is a single and functionallycontinuous logical workspace that is larger in size than the physicalcomputer system display used to display the physically viewable workarea; and each logical screen is individually selectable for navigationwithin the logical main application workspace; by user action, jumpingfrom the physically viewable area in the logical main applicationworkspace to a selected one of the logical screens, the selected one ofthe logical screens being any logical screen in the logical mainapplication workspace.
 30. The method according to claim 29, furthercomprising logically associating a plurality of sub-application windowswith respective logical screens within the logical main applicationworkspace, the sub-application windows for displaying content of atleast one open sub-application.
 31. The method according to claim 30,further comprising logically associating each sub-application windowlocation with a logical screen of the continuous main applicationworkspace in which a majority of the sub-application window is disposed.32. The method according to claim 30, further comprising storing anarrangement of sub-application windows locations disposed within thelogical main application workspace.
 33. The method according to claim32, further comprising retrieving the stored arrangement ofsub-application windows.
 34. The method according to claim 30, furthercomprising storing a layout of the continuous logical main applicationworkspace including a number and arrangement of logical screens andrelative locations of each sub-application window within each logicalscreen within the continuous logical main application workspace.
 35. Themethod according to claim 34, further comprising retrieving the storedlayout.
 36. The method according to claim 34, further comprising storinga plurality of separate layouts for the logical main applicationworkspace, wherein each layout has a different arrangement of logicalscreens and relative locations of each sub-application window withineach logical screen within the continuous logical main applicationworkspace.
 37. The method according to claim 36, further comprisingretrieving a selected stored layout from among the plurality of storedlayouts.
 38. The method according to claim 30, further comprisingscaling the continuous logical application workspace and sub-applicationwindows to zoom the application workspace in or out.
 39. The methodaccording to claim 30, further comprising, upon initiation of one of thesub-application windows, logically associating the sub-applicationwindow with a logical screen within the continuous logical mainapplication workspace identified by user action.
 40. The methodaccording to claim 39, further comprising providing the user with a usermoveable placement means, wherein the logical screen associated with asub-application window within the continuous logical main applicationworkspace identified by user action corresponds to a logical screenincluding a location of the placement means relative to the continuouslogical main application workspace.
 41. The method according to claim29, wherein the logical screens are contiguously arranged in a matrix.42. The method according to claim 29, further comprising increasing thenumber of logical screens and a corresponding dimension of thecontinuous logical main application workspace in accordance with a useraction.
 43. The method according to claim 29, further comprisingdecreasing the number of logical screens and a corresponding dimensionof the continuous logical main application workspace in accordance witha user action.
 44. The method according to claim 29, further comprisingproviding a drop down menu from which a user can select and jump to oneof the plurality of logical screens for display on the computer systemdisplay in the physically viewable work area defined by the logical maincomputer application.
 45. The method according to claim 29, furthercomprising generating a plurality of logical application workspaces forthe logical main computer application.
 46. The method according to claim29, wherein each logical screen is associated with a unique identifyingfeature.
 47. The method according to claim 46, wherein the uniqueidentifying feature is selected from a background color, a backgroundpattern and a combination thereof.
 48. The method according to claim 40,wherein the placement means is a placement pointer having a positionthat defines the location within the continuous logical workspaceidentified by user action.
 49. The method according to claim 40, whereinthe placement means is a placement tool for marking the location withinthe continuous logical workspace identified by user action.
 50. Themethod according to claim 29, further comprising generating a navigationbox that includes a representation of the continuous logical mainapplication workspace including an indication of each logical screenwithin the workspace; and jumping from the physically viewable work areain the logical main application workspace to a logical screen selectedby a user action from the navigation box.
 51. The method according toclaim 50, further comprising logically associating a plurality ofsub-application windows with respective locations within the continuouslogical main application workspace, the sub-application windows fordisplaying content of at least one open sub-application, and displayingan iconic representation of each sub-application window in associationwith the representation of the logically associated screen shown in thenavigation box.
 52. The method according to claim 51, further comprisingcode moving and associating a user selected sub-application window froma logically associated screen to another logical screen in response touser initiated movement of the corresponding iconic representation ofthe user selected sub-application window in the navigation box, whereinthe user selected sub-application window is moved without changing thedisplay of the currently displayed logical screen within the physicallyviewable work area.
 53. The method according to claim 29, wherein theselected logical screen does not contain any sub-application windows.54. The method according to claim 29, further comprising generating aplurality of main application workspaces, wherein each main applicationworkspace is a logical main application workspace and has a differentarrangement of logical screens; and retrieving a selected mainapplication workspace from among the plurality of main applicationworkspaces.
 55. The method according to claim 29, wherein the maincomputer application is an operating system desktop.
 56. The methodaccording to claim 30, wherein the main computer application is anoperating system desktop, and the plurality of sub-application windowscomprise windows that display content generated by programs executed viathe operating system.